The telecommunications environment has changed considerably in recent years. A principal reason has been spectacular progress resulting from the maturing of fiber optical transmission technology (high speed rates can now be sustained with very low bit error rates) and the widespread adoption of digital technologies within private and public telecommunications networks.
The service offerings of telecommunications companies, public and private, have also changed. The emergence of high speed transmission capabilities has resulted in more attractive tariffs, more flexibility for users to manage their growth using a wide range of connectivity options, more efficient bandwidth management and better support of new media. Once sampled and digitally encoded, voice, video and image data can be merged with alphanumeric data for common and transparent transport through networks.
A need to efficiently transport mixed traffic streams on very high speed lines imposes new performance and resource requirements for very high throughput, very short packet processing times, efficient flow and congestion control mechanisms, and a flexibility to support a wide range of connectivity options.
A key requirement of high speed packet switching networks is to reduce the end to end delay in order to satisfy real time delivery constraints and to achieve the high system throughput necessary for the transport of voice and video. Increases in link speeds have not been matched by proportionate increases in the processing speeds of communication systems (nodes) and a fundamental challenge for high speed networks is to minimize the processing time and to take full advantage of the high speed/low error rate technologies. Most of the transport and control functions provided by the new high bandwidth network architectures are performed on an end to end basis. The flow control and particularly the path selection and bandwidth management processes are managed primarily at the access points to the network.
Communication networks have at their disposal limited resources to ensure efficient packet transmissions. An efficient bandwidth management process is essential to take full advantage of a high speed network. While transmission costs per byte continue to drop year after year, transmission costs are likely to continue to represent the major expense of operating future telecommunication networks as the demand for bandwidth increases. Thus, considerable efforts have been spent on designing flow and congestion control processes, bandwidth reservation mechanisms, routing algorithms to manage the network bandwidth. An ideal network should be able to transmit all offered to the network until the maximum transmission capacity of the network is reached. Beyond this limit, the network should be able to operate at its maximum capacity whatever the demand is.
In high speed networks, the nodes must provide total connectivity. This includes attachment of the user devices, regardless of vendor or protocol, and the ability to allow each end user communicate with any other device or group of devices when necessary. The network must support any type of traffic including data, voice, video, fax, graphic or image. Nodes must be able to take advantage of all common carrier facilities and to be adaptable to a plurality of protocols. All needed conversions must be automatic and transparent to the end user.
The architectures of most high speed packet switching networks specify a set of generic services that offer end-to-end high bandwidth transport capabilities. Services can be divided into three major areas: Transport Services, Network Control Services and Access Services.
Transport Services provide a common infrastructure to support the transfer of packets across a network. Transport Services are not directly available to users but a invoked through Access Services. Transport Services can be divided in three distinct functions: a Logical Link Layer, a Network Connection Layer and Transport Protocols.
Network Control Services ensure that the Transport and Access Services operate reliably, efficiently, and as automatically as possible. Network Control Services are used to control, allocate, and manage the resources of a network on a real-time basis. They also provide network operators with the various facilities that are needed to configure, operate, and maintain a network on a day-to-day basis. This includes facilities for monitoring the performance of the network, accounting for its usage, and resolving problems.
Access Services provide an interface between the common high speed network (or backbone network) and external devices or networks via access link interfaces. Access Services enable a wide range of external devices to get access to the common infrastructure provided by the Transport Services.
Together, the Transport, Network Control and Access Services provide the capability to support communications between many different types of communicating devices through a common network infrastructure. A major capability of most high speed networks is their ability to support a diverse range of high speed multimedia telecommunication services using common equipment. Each Access Service (also called Access Agent) provides the support for a particular set of telecommunication services--ATM, Frame relay, PCM voice, Circuit emulation, H DLC . . .--and enables those to transport traffic across a common network.
An Access Agent comprises three logically separate components: a protocol agent, which understands and interprets the access protocol, a directory agent in charge of locating resources across the network, and a connection agent which establishes connections between Access Agents.
Each network node contains one or many of these Access Agents, depending on the physical interfaces it attaches to and on the access protocols it understands and supports. Valid examples of access services are Frame Relay or Asynchronous Transfer Mode (ATM) Access Agents (for connection-oriented protocols) or Internet Protocol or Connection-Less Network Protocol Access Agents from the OSI suite (for connectionless protocols).
One distinguishing characteristic of a network (or network protocol) is the presence or absence of a "connection" between end users. When a connection is present the network is called "Connection-oriented" and when there is no connection the network is called "Connectionless". In connection-oriented networks, the transfer of information between two communicating end users starts by the establishment of the connection prior to the real transfer of packets. Once the connection is established, there is no need to place a destination address in the packet header every time a packet is sent. All that is needed is an identifier to specify which connection is to be used for this packet.
When multicasting (sending the same packet to multiple users) is concerned, connection-oriented networks require the establishment of a point-to-multipoint connection network connection between the sending end user (sender) and the receiving end users (receivers). When the communication involves multiple sending end users and multiple receiving end users, a multipoint-to-multipoint connection or several point-to-multipoint connections must be set up.
Packets (also called datagrams in connectionless environments) are freely exchanged between end users (also called subscribers) without any set up phase. Every datagram transmitted is prefixed by the full network address of both its origin and its destination. However, in connection-less networks where the communication duration may be as short (e.g, sending a single datagram) and/or the number of receiving end users is high, the connection-oriented multicasting model with multiple point-to-multipoint or multipoint-to-multipoint connections cannot be efficiently used. It takes time for a network to set up multiparty connections. Since some types of datagrams are delay-sensitive, the multiparty connections would have to be set up in advance, with all the associated problems for maintaining these connections (even when unused).
The present application relates to connectionless transmissions in wide-area networks based for example on the IBM's Networking BroadBand Services architecture described in the publication of International Business Machine "IBM International Technical Support Centers--Networking Broadband Services (NBBS)--Architecture Tutorial--GG24-4486-00 June 95". More particularly, the present application relates to a set of mechanisms that connectionless Access Services can use to provide group addressing ("group addressing" is the terminology used for "multicasting" in the connectionless environment). These mechanisms are used in multi-node networks where each node can offer Access Services supporting connectionless protocols.
Connection-less Protocol Agents exchange datagrams across the network, using the services provided by the generic Transport Services. When a datagram is addressed to a group of several end users, generally attached to the network via different physical interfaces, the datagram is frequently sent to multiple destination nodes and processed by multiple Protocol Agents within said nodes before finally reaching all the end users of the group.
The SMDS "Switched Multimegabit Data Services" architecture and its European equivalent architecture (CBDS "Connectionless Broadband Data Services"), specify that a copy of a group addressed datagram has to be delivered to every physical interface for any group having one or more end users to whom the datagram must be delivered.
The present invention enables optimization of the delivery of group addressed datagrams by minimizing the amount of traffic across the backbone network and processing overhead in the network nodes, and by eliminating single points of failure that are never desirable in a data transport environment.
Several possibilities have been considered for sending the same datagram to multiple destination nodes and then, within the destination node, to one or more destination Protocol Agents. The Source Protocol Agent may send the datagram to each Destination Protocol Agent in the network handling an end user belonging to the group the datagram is destined for. The obvious disadvantage in this case, is the overhead created in the backbone network by the duplication of the datagram. The datagram may be sent once to each destination node that handles an end user member of the group. Of course, this solution involves the intervention of a centralized component in each of these destination nodes for receiving group addressed datagrams from other nodes and for redistributing these datagrams to all concerned local Protocol Agents in the node. Such a solution creates bottlenecks and single points of failure as the group addressing function of each node is concentrated in a single centralized component.
The datagram may be sent once to each destination node that handles an end user member of the group, with a special indication that a copy of the group addressed datagram has to be delivered to all the connectionless Protocol Agents. As the datagram is sent to all the connectionless Protocol Agents of the destination nodes, whether or not they handle an end user member of the group, this solution involves a potential bottleneck for the switch of the nodes and can also create an important burden for connectionless Protocol Agents that do not handle any end user belonging to the group.
All the previously discussed solutions to the connectionless group addressing problem include serious drawbacks. Bottlenecks can be created in the network and/or the network nodes. In some cases, unnecessary single points of failure are introduced. For instance, if the centralized component described above fails, multicasted datagrams can no longer be delivered in the destination node.